列表是 Python 中一种非常重要的数据类型,它可以存储一组有序的元素。下面是一些常用的列表操作:
- 创建列表:可以使用方括号
[]
来创建一个空列表,或者在方括号中添加一些元素来创建一个非空列表。例如:my_list = []
或my_list = [1, 2, 3]
。 - 访问元素:可以使用索引来访问列表中的元素。索引从 0 开始,例如
my_list[0]
表示访问列表中的第一个元素。 - 修改元素:可以通过索引来修改列表中的元素。例如
my_list[0] = 4
表示将列表中的第一个元素修改为 4。 - 添加元素:可以使用
append()
方法在列表末尾添加一个新元素,或者使用insert()
方法在指定位置插入一个新元素。例如my_list.append(5)
或my_list.insert(1, 6)
。 - 删除元素:可以使用
del
语句删除指定位置的元素,或者使用remove()
方法删除指定值的第一个匹配项。例如del my_list[0]
或my_list.remove(2)
。 - 列表切片:可以使用切片操作来获取列表中的一部分元素。例如
my_list[1:3]
表示获取列表中从索引 1 到索引 2 的元素(不包括索引 3)。
Python 列表有许多内置方法,下面是一些常用的方法及其用法:
append(x)
:在列表末尾添加一个元素。例如:my_list.append(5)
。extend(iterable)
:在列表末尾添加多个元素。例如:my_list.extend([1, 2, 3])
。insert(i, x)
:在指定位置插入一个元素。第一个参数是要插入的位置,第二个参数是要插入的元素。例如:my_list.insert(1, 6)
。remove(x)
:删除列表中第一个值为 x 的元素。如果没有这样的元素,则抛出 ValueError 异常。例如:my_list.remove(2)
。pop([i])
:删除并返回列表中指定位置的元素(默认为最后一个)。如果指定了索引 i,则删除并返回该位置的元素;否则删除并返回最后一个元素。例如:my_list.pop()
或my_list.pop(1)
。index(x[, start[, end]])
:返回列表中第一个值为 x 的元素的索引。如果没有这样的元素,则抛出 ValueError 异常。start 和 end 参数用于指定搜索范围,可选。例如:my_list.index(3)
。count(x)
:返回列表中 x 出现的次数。例如:my_list.count(2)
。sort(key=None, reverse=False)
:对列表进行排序。key 参数用于指定排序依据,可选;reverse 参数用于指定是否按降序排序,默认为升序排序。例如:my_list.sort()
或my_list.sort(reverse=True)
。reverse()
:反转列表中的元素。例如:my_list.reverse()
。
列表搭配input输入的几种情况
1.多行输入:
在 Python 中,input()
函数用于从标准输入(通常是键盘)读取一行文本。
下面是一个简单的例子,它演示了如何使用 input()
函数读取用户输入的整数,并将它们存储到列表中:
my_list = []
n = int(input('请输入要添加的元素个数:'))
for i in range(n):
x = int(input(f'请输入第 {i+1} 个元素:'))
my_list.append(x)
print('列表中的元素为:', my_list)
在上面的代码中,我们首先创建了一个空列表 my_list
,然后使用 input()
函数读取用户输入的元素个数,并将其转换为整数。接下来,我们使用 for 循环和 range()
函数遍历指定次数,每次循环都使用 input()
函数读取一个整数,并使用 append()
方法将其添加到列表中。最后,我们打印出列表中的所有元素。
2.单行输入但是是用字符分隔每个数据
如果你想从一行中读取多个使用特定字符分隔的数据,可以使用 input()
函数读取整行文本,然后使用字符串的 split()
方法将其分割为多个子串。
下面是一个简单的例子,它演示了如何从一行中读取多个使用逗号分隔的整数,并将它们存储到列表中:
my_list = []
line = input('请输入一行用逗号分隔的整数:')
for x in line.split(','):
my_list.append(int(x))
print('列表中的元素为:', my_list)
在上面的代码中,我们首先创建了一个空列表 my_list
,然后使用 input()
函数读取用户输入的一行文本。接下来,我们使用字符串的 split()
方法以逗号为分隔符将其分割为多个子串,并使用 for 循环遍历这些子串。对于每个子串,我们都将其转换为整数,并使用 append()
方法将其添加到列表中。最后,我们打印出列表中的所有元素。
如果是用空格进行分隔,只需要将split括号中的内容清空即可,即line.split()
字典也是 Python 中一种非常重要的数据类型,它可以存储键值对。下面是一些常用的字典操作:
- 创建字典:可以使用花括号
{}
来创建一个空字典,或者在花括号中添加一些键值对来创建一个非空字典。例如:my_dict = {}
或my_dict = {'a': 1, 'b': 2}
。 - 访问元素:可以使用方括号
[]
来访问字典中的元素。例如my_dict['a']
表示访问字典中键为'a'
的元素。 - 修改元素:可以通过方括号
[]
来修改字典中的元素。例如my_dict['a'] = 3
表示将字典中键为'a'
的元素修改为 3。 - 添加元素:可以通过方括号
[]
来添加新的键值对。例如my_dict['c'] = 4
表示在字典中添加一个新的键值对'c': 4
。 - 删除元素:可以使用
del
语句删除指定键的键值对,或者使用pop()
方法删除并返回指定键的值。例如del my_dict['a']
或my_dict.pop('b')
。
Python 字典有许多内置方法,下面是一些常用的方法及其用法:
clear()
:删除字典中所有元素。例如:my_dict.clear()
。copy()
:返回字典的浅拷贝。例如:new_dict = my_dict.copy()
。fromkeys(seq[, value])
:使用指定序列中的元素作为键创建新字典,如果提供了 value 参数,则将其作为所有键的值;否则所有键的值都为 None。例如:new_dict = dict.fromkeys(['a', 'b'], 1)
。get(key[, default])
:返回字典中指定键的值,如果键不存在,则返回 default 参数指定的值(默认为 None)。例如:my_dict.get('a')
或my_dict.get('c', 0)
。items()
:返回一个包含字典中所有键值对的视图对象。可以使用 for 循环遍历该视图对象。例如:for k, v in my_dict.items(): print(k, v)
。keys()
:返回一个包含字典中所有键的视图对象。可以使用 for 循环遍历该视图对象。例如:for k in my_dict.keys(): print(k)
。pop(key[, default])
:删除并返回字典中指定键的值,如果键不存在,则返回 default 参数指定的值;如果没有提供 default 参数且键不存在,则抛出 KeyError 异常。例如:my_dict.pop('a')
或my_dict.pop('c', 0)
。popitem()
:删除并返回字典中最后一个键值对(Python 3.7 及以上版本),如果字典为空,则抛出 KeyError 异常。例如:k, v = my_dict.popitem()
。setdefault(key[, default])
:如果字典中存在指定键,则返回其值;否则在字典中添加该键,并将其值设为 default 参数指定的值(默认为 None),然后返回该值。例如:my_dict.setdefault('a', 0)
或my_dict.setdefault('c', 3)
。update([other])
:使用其他字典或可迭代对象中的键值对更新字典。如果有重复的键,则覆盖原来的值。例如:my_dict.update({'c': 4, 'd': 5})
或my_dict.update([('c', 4), ('d', 5)])
。values()
:返回一个包含字典中所有值的视图对象。可以使用 for 循环遍历该视图对象。例如:for v in my_dict.values(): print(v)
。
字典搭配Input的几种输入方法
1.多行输入
my_dict = {}
n = int(input('请输入要添加的键值对个数:'))
for i in range(n):
key = input(f'请输入第 {i+1} 个键:')
value = input(f'请输入第 {i+1} 个值:')
my_dict[key] = value
print('字典中的键值对为:', my_dict)
在上面的代码中,我们首先创建了一个空字典 my_dict
,然后使用 input()
函数读取用户输入的键值对个数,并将其转换为整数。接下来,我们使用 for 循环和 range()
函数遍历指定次数,每次循环都使用两次 input()
函数分别读取一个键和一个值,并将它们存储到字典中。最后,我们打印出字典中的所有键值对。
2.单行输入
如果你想从一行中读取多个键值对,可以使用 input()
函数读取整行文本,然后使用字符串的 split()
方法将其分割为多个子串。接下来,你可以遍历这些子串,并使用字符串的 split()
方法再次将它们分割为键和值。
下面是一个简单的例子,它演示了如何从一行中读取多个使用逗号分隔的键值对(每个键值对使用冒号分隔),并将它们存储到字典中:
my_dict = {}
line = input('请输入一行用逗号分隔的键值对(每个键值对用冒号分隔):')
for pair in line.split(','):
key, value = pair.split(':')
my_dict[key] = value
print('字典中的键值对为:', my_dict)
在上面的代码中,我们首先创建了一个空字典 my_dict
,然后使用 input()
函数读取用户输入的一行文本。接下来,我们使用字符串的 split()
方法以逗号为分隔符将其分割为多个子串,并使用 for 循环遍历这些子串。对于每个子串,我们都再次使用字符串的 split()
方法以冒号为分隔符将其分割为键和值,并将它们存储到字典中。最后,我们打印出字典中的所有键值对。
如果有空格分隔的情况参考上面列表的修改方式,只需对split函数修改即可。