python 作业19 列表2

问题:

0. 列表的 extend() 方法是否支持使用字符串来扩展列表?

  支持  可以去查看网站

1.请问下面代码是否会报错?

>>> s = [1, 2, 3]
>>> s.append([4, 5, 6])

 

 不会

 这里面代表是 给a 列表加入 第四个元素 [4,5,6] 这里 整个列表作为一个元素加入

2.请将下面代码改为使用列表的 insert() 方法实现。

>>> s = [1, 2, 3, 4, 5]
>>> s.append(6)

方法如下:

a = [1, 2, 3, 4, 5]
a.insert(5,6)

s.insert(i, x)

将 x 元素插入到 s 列表中的 i 位置(其它元素依次往后递推)。所以,s.insert(0, x) 是将 x 元素插入到 s 列表的开头;s.insert(len(s), x) 则是将 x 元素插入到 s 列表的末尾,等同于 s.append(x)

 

3.请问下面代码执行后,列表 s 的内容是什么?

>>> s = [1, 2, 3, 4, 5]
>>> s.extend(["FishC"])

[1, 2, 3, 4, 5, 'FishC']

 

4.请使用切片的语法,实现与下面代码相同的效果。

>>> s = [1, 2, 3, 4, 5]
>>> s.append("上山打老虎")
>>> s
[1, 2, 3, 4, 5, '上山打老虎']
s = [1, 2, 3, 4, 5]
s[len(s):] = ["上山打老虎"]

 

 

5. 请使用切片的语法,实现与下面代码相同的效果。

>>> s = [1, 2, 3, 4, 5]
>>> s.extend("上山打老虎")
>>> s
[1, 2, 3, 4, 5, '', '', '', '', '']
s = [1, 2, 3, 4, 5]
s[len(s):] = "上山打老虎"

 

6. 请问下面代码执行后,列表 s 的内容是什么?

>>> s = [1, 2, 3, 4, 5]
>>> s[len(s)-2:] = [2, 1]

[1,2,3,2,1]

动动手:

0.请编写一个程序,判断给定的字符串 s 中括号的写法是否合法。

  • 字符串仅包含 '('')''['']''{''}' 这三对括号的组合
  • 左右括号必须成对编写,比如 "()" 是合法的,"(" 则是非法的
  • 左右括号必须以正确的顺序闭合,比如 "{()}" 是合法的,"{(})" 则是非法的

 

 

s = input("请输入测试字符串:")


stack = []

for c in s:
    if c == '(' or c == '[' or c == '{':
        stack.append(c)
        # 那么添加到特殊列表中 #
    else:
        if len(stack) == 0:
            print("非法" # 这里应该打印合法还是非法呢 #)
            break

        if c == ')':
            d = '('
        elif c == ']':
            d = '['
        elif c == '}':
            d = '{'

        if d != stack.pop():# 对比 d 和从特殊列表尾部弹出的元素 #:
            print("非法T_T")
            break
else:
    if len(stack) == 0:
        print("合法"# 这里应该打印合法还是非法呢 #)
    else:
        print("非法"# 这里应该打印合法还是非法呢 #)

 

posted @ 2022-07-03 21:03  DICEi  阅读(81)  评论(0)    收藏  举报